Ls (Unix)
| |
Tipus | utilitat UNIX i Plan 9 utility (en) |
---|---|
Part de | GNU Core Utilities |
ls (de l'anglès list, la traducció de la qual és “llista” o “llistar”) és una ordre del sistema operatiu Unix i derivats que mostra una llista amb els arxius i directoris d'un determinat directori. Els resultats es mostren ordenats alfabèticament. ls és una ordre especificada per POSIX i la Single UNIX Specification i està implementada en els sistemes operatius Unix i Unix-like. ls, és una abreviació de list, llistar fitxers.
Els arxius i directoris el nom dels quals comença amb . (punt) no es mostren amb la instrucció ls, pel que solen denominar-se "arxius ocults". L'opció -a de ls inhibeix aquest comportament, mostrant tots els arxius i subdirectoris, fins i tot els que comencen amb punt.
Ls és una de les eines bàsiques dels sistemes operatius Unix, per la qual cosa forma part del paquet GNU Coreutils.
Història
[modifica]La primera utilitat de ls va aparèixer a la versió 5 de AT&T UNIX. El seu nom ve d'una comanda molt similar a Multics que significava "list segments". Avui, dues versions popular del ls estan incloses a Free Software Foundation's al paquet coreutils de GNU i un es llença en diverses variants del sistema BSD, com FreeBSD, OpenBSD, NetBSD i Apple Computers Darwin. Les dues són lliures i codi obert.
Sintaxi
[modifica]- ls : sense arguments mostra la llista del directori actual (vegeu la variable d'entorn pwd).
- ls fitxer1 fitxer2 fitxer3 ... subdir1 subdir2 subdir3 ... : mostra una llista dels arxius i subdirectoris especificats en la línia d'ordres. Per als arxius mostra el nom solament (o més informació si s'empra alguna opció com a -l) i per als subdirectoris mostra tots els arxius inclosos en el subdirectori. Aquest comportament diferent de ls davant arxius i subdirectoris pot igualar-se usant el paràmetre -d, que fa que es tracti als subdirectoris com a arxius. Noti's que poden posar-se directoris i arxius en la línia d'ordres en qualsevol ordre.
Opcions més comunes
[modifica]- -l mostra una llista en el format llarg, amb informació de permisos, nombre d'enllaços associats a l'arxiu, usuari, grup, grandària i data d'última modificació a més del nom.
- -h amb -l imprimeix la grandària dels arxius de forma entesa per als humans (ej. 1K 234M 2G).
- -d només mostra el nom del subdirectori, sense entrar en aquest ni donar una llista del contingut.
- -t mostra ordenat per la data d'última modificació.
- -c mostra ordenat per la data de l'última modificació de l'estat de l'arxiu.
- -r quan la llista es fa per ordre temporal, els arxius més recents van al principi. Si s'indica la -r s'inverteix l'ordre, mostrant els més recents al final.
- -L en els enllaços simbòlics, mostra les dades de l'arxiu referenciat en comptes dels del link.
- -1 mostra la llista en una sola columna. Sense l'opció -1 la llista es mostra en diverses columnes, tantes com permeti l'ample del terminal (generalment controlat amb la variable d'entorn $COLUMNS).
- -i mostra el nombre de l'inode abans del nom d'arxiu.
- -m mostra els arxius en una línia i separats per comes.
- -R fa una llista recursiu. Llista primer els arxius del directori en curs, després els dels subdirectoris d'aquest, després els dels subdirectoris continguts en ells (nets) i així successivament.
- --color mostra cada tipus d'arxiu d'un color diferent: un color per als directoris, un altre per als arxius regulars, un altre per als enllaços simbòlics, un altre pels sockets, un altre per a les "pipes" FIFO, etc. Aquest paràmetre no s'accepta en totes les versions de ls i, per descomptat, requereix que el terminal sigui capaç de mostrar diferents colors o intensitats.
- - a mostra els arxius ocults.
Igual que en la majoria de les ordres unix, les opcions es poden agrupar, de manera que és el mateix posar ls -li que ls -l -i. O també és el mateix ls -ltra que ls -l -t -r -a
Exemples
[modifica]una llista del directori actual s'obtindria així:
$ ls Manual.txt.gz arxiu1.txt hosts servidors syslog.0
la llista llarg seria:
$ ls -l total 1424 -rw-r--r-- 1 mail bin 40661 May 13 22:27 Manual.txt.gz -rw-r--r-- 1 nobody nogroup 0 May 13 22:26 arxiu1.txt -rw-r--r-- 1 root root 825 May 13 22:26 hosts lrwxrwxrwx 1 user1 grp1 5 May 13 22:31 servidors -> hosts -rw-r----- 1 sys sys 1405600 May 13 22:27 syslog.0
I amb arxius ocults:
$ ls -la total 1444 drwxr-xr-x 3 user1 grp1 4096 May 13 22:34. drwxrwxrwt 56 root root 8192 May 13 22:35 .. -rw-r--r-- 1 user1 grp1 176 May 13 22:29 .data -rw-r--r-- 1 mail bin 40661 May 13 22:27 Manual.txt.gz -rw-r--r-- 1 nobody nogroup 0 May 13 22:26 arxiu1.txt -rw-r--r-- 1 root root 825 May 13 22:26 hosts lrwxrwxrwx 1 user1 grp1 5 May 13 22:31 servidors -> hosts -rw-r----- 1 sys sys 1405600 May 13 22:27 syslog.0
la llista del contingut del directori dades en format llarg, incloent el nombre d'inode al principi de cada línia i ordenats per dates en ordre descendent:
$ ls -litr dades total 45928 37844 -rw-r--r-- 1 user1 grp1 30 Jan 23 23:01 dades1.txt 37847 -rw-r--r-- 1 user1 grp1 460 Apr 13 21:36 index.dades 37845 -rw-r--r-- 1 user1 grp1 46967296 May 13 22:34 dades2.txt
Si s'usa l'opció -d es mostra només la informació del directori:
$ ls -lid dades 37843 drwxr-xr-x 2 user1 grp1 4096 May 13 22:35 dades
la llista llarg de tots els arxius el nom dels quals comenci per d i després contingui una t:
$ ls -l d*t* -rw-r--r-- 1 user1 grp1 30 Jan 23 23:01 dades1.txt -rw-r--r-- 1 user1 grp1 46967296 May 13 22:34 dades2.txt